iT邦幫忙

2026 iThome 鐵人賽

DAY 4
0
AI Engineering

別再只是讓 AI 幫你改英文:30 天打造個人化 AI 英文溝通教練系列 第 4

Day 4|從 Requirement 到 Spec:同一句英文,怎麼切才適合練習?

  • 分享至 

  • xImage
  •  

上一篇,我先把 MVP 的範圍收斂下來,也列出了第一版需要的功能。

我的產品流程大概是:

和 ChatGPT 練習 → 產生適合自己的英文 → 切成 chunks → Shadowing

一開始,我其實想先做前面的 AI 功能:讓使用者跟 ChatGPT 練習,再把對話整理成可以拿來練習的英文。

但列出 Requirement,只代表我知道「要做什麼」,還不代表我已經知道它實際應該怎麼運作。

像「把英文自動切成適合練習的 chunk」看起來已經是一條 Requirement,但真的要開始實作,還是得先回答:什麼叫做適合練習?切在哪裡才算切得好?最後要產生什麼樣的結果?

我不打算一次把整份 spec 寫到完美,而是先挑一個最直接影響練習體驗、定義又最模糊的功能來釐清。所以,我把順序調了一下:先從 chunking 開始。

https://ithelp.ithome.com.tw/upload/images/20260918/20184346mEYlMUiUhK.png

原因很簡單:它會直接影響練習品質。

如果系統產生了一句很自然的英文,卻把它切成一些奇怪的片段,使用者就算每一段都跟著念了很多次,最後還是不一定能自然地把整句話說出來。

而且 chunking 聽起來很簡單。

不就是「切」嗎?

「自動切句」其實還不是一個完整的需求

我原本對 chunking 真的沒有想太多。

可能按照標點符號切,句子太長的話再切小一點。看起來應該寫幾條規則就可以開始做了。

但真的準備實作時,第一個問題就出現了:

到底切在哪裡,才叫做切得好?

我先拿了幾個自己以前真的遇過的英文情境,試著人工切一次。

其中一句是:

I'm here to / renew my health card.

如果按照自然語流來看,我其實不應該在 to 後面停下來。

但我發現自己會想這樣切,是有原因的。

因為對正在學英文的我來說:

I'm here to + ______

本身就是一個很好用的句型(pattern)。

今天可以是:

I'm here to renew my health card.

下次也可以變成:

I'm here to pick up my package.

或是:

I'm here to ask about my application.

所以我把 I'm here to 單獨切出來,不是因為這是自然說話時應該停頓的位置,而是因為我想把它當成一個可以重複使用的句型學起來。

我想切的地方,竟然跟 thought group 不一樣

為了確認這樣切是否合理,我開始查英文口說和 Shadowing 的資料,這才遇到一個概念:thought groups(意群)

Iowa State University 的英語口語教材 把 thought group 定義為一段能形成完整訊息的語流,通常具有語法與語意上的完整性,前後可能有停頓,也會有一個突出的重音和相應的語調輪廓。教材也特別提醒,句子並沒有唯一、固定的切法;說話速度、語意和情境都可能改變分組方式。

如果把剛才的句子視為一個 thought group,練習時會整句連起來,而不是切在 to 後面:

I'm here to renew my health card.

這跟我一開始手動切的位置不一樣。

這時我才發現,我原本說的「chunk」其實混在一起了兩件不同的事情。

適合「學」的 chunk,不一定等於適合「說」的 chunk

如果目的是降低剛開始練習的負擔,我可能希望 chunk 小一點:

I'm here to / renew my health card.

但最後真的要說出口時,我希望自己可以自然地說:

I'm here to renew my health card.

也就是說,chunk 可能本來就有大小之分。

小的 learning chunks 可以幫助我拆解句子、模仿,甚至注意到可以重複使用的句型。

大的 thought groups 則比較接近真正說話時的節奏。

https://ithelp.ithome.com.tw/upload/images/20260918/20184346srCke08928.png

所以我現在的假設是,練習可以分成三層:

small chunks → larger thought groups → full sentence

先拆開練,再慢慢合起來。

不過,我現在還不打算把三層全部塞進 MVP。

接下來,我想先拿幾個真實句子繼續測試,把「什麼叫切得好」整理成第一版 spec。等預期的輸入、輸出和判斷標準比較清楚之後,再開始做 prototype。

我今天其實還沒有寫什麼程式

我今天幾乎沒寫程式,卻把「切得好」拆成了兩個不同目標。

如果我一開始看到「自動切句」這個需求,就直接開始想:

要寫規則嗎?要用 NLP 嗎?還是乾脆丟給 LLM?

我可能很快就能做出一個會動的版本。

但我甚至還不知道自己希望它產生什麼樣的結果。

我今天實際做的是:

需求 → 找真實例子 → 自己先做一次 → 問自己為什麼這樣做 → 發現原本藏在裡面的不同目標

做到這裡,我才知道接下來要問什麼:

哪些地方可以用簡單的規則?哪些真的需要理解語意?AI 到底需不需要出場?

這次我沒有先選模型,也沒有先寫程式。我先把「切得好」拆成兩個目標:適合學習,以及接近自然語流。接下來,才能判斷哪些地方用規則就夠了,哪些地方真的需要 AI。

參考資料


上一篇
Day 3|定義出產品功能之後,第一版到底要做到什麼程度?
下一篇
Day 5|從需求到 Product Spec:開始寫程式前,我需要先寫清楚什麼?
系列文
別再只是讓 AI 幫你改英文:30 天打造個人化 AI 英文溝通教練5
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言